133 research outputs found

    Constructing medium sized efficient functional programs in Clean

    Get PDF
    Contains fulltext : 107652.pdf (author's version ) (Open Access

    Who is protecting tourists in New Zealand from severe weather hazards?: an exploration of the role of locus of responsibility in protective behaviour decisions

    Get PDF
    Much of New Zealand's tourism industry is focused on 'the outdoors', capitalising on its natural environment and attractions. However, this 'product' makes New Zealand tourism vulnerable to environmental variability and disturbances, including the weather. As a consequence, New Zealand weather has a significant impact on the industry in terms of operations, tourist satisfaction, and tourist safety. This paper presents the results of a study on how tourists in New Zealand anticipate possible hazardous weather events, to what extent they prepare themselves, and their information preferences (type and source) that help them to stay safe when severe weather occurs

    The generic HASKELL user's guide : version 0.99 - Amber release

    Get PDF
    Software development often consists of designing datatypes around which functionality is added. Some functionality is datatype specific, whereas other functionality is defined on almost all datatypes in such a way that it depends only on the structure of the datatype. A function that works on many datatypes in this way is called a generic (or polytypic) function. Examples of generic functionality include storing a value in a database, editing a value, comparing two values for equality, and pretty-printing a value. Since datatypes often change and new datatypes are introduced, we have developed Generic HASKELL which supports generic definitions to save the programmer from (re)writing instances of generic functions. Generic HASKELL extends the functional programming language Haskell [5] with, among other things, a construct for defining type-indexed values with kind-indexed types, based on recent work by Hinze [2]. These values can be specialised to all Haskell datatypes, facilitating wider application of generic programming than provided by earlier systems such as PolyP [4]

    Trends in Frailty and Its Association With Mortality:Results From the Longitudinal Aging Study Amsterdam, 1995-2016

    Get PDF
    The aim of this study was to investigate trends in frailty and its relationship with mortality among older adults aged 64-84 years across a period of 21 years. We used data from 1995 to 2016 from the Longitudinal Aging Study Amsterdam. A total of 7,742 observations of 2,874 respondents in the same age range (64-84 years) across 6 measurement waves were included. Frailty was measured with a 32-item frailty index, with a cutpoint of ≥0.25 to indicate frailty. The outcome measure was 4-year mortality. Generalized estimating equation analyses showed that among older adults aged 64-84 years the 4-year mortality rate declined between 1995 and 2016, while the prevalence of frailty increased. Across all measurement waves, frailty was associated with 4-year mortality (odds ratio = 2.79, 95% confidence interval: 2.39, 3.26). There was no statistically significant interaction effect between frailty and time on 4-year mortality, indicating a stable association between frailty and mortality. In more recent generations of older adults, frailty prevalence rates were higher, while excess mortality rates of frailty remained the same. This is important information for health policy-makers and clinical practitioners, showing that continued efforts are needed to reduce frailty and its negative health consequences

    Anisotropic intrinsic lattice thermal conductivity of phosphorene from first principles

    Full text link
    Phosphorene, the single layer counterpart of black phosphorus, is a novel two-dimensional semiconductor with high carrier mobility and a large fundamental direct band gap, which has attracted tremendous interest recently. Its potential applications in nano-electronics and thermoelectrics call for a fundamental study of the phonon transport. Here, we calculate the intrinsic lattice thermal conductivity of phosphorene by solving the phonon Boltzmann transport equation (BTE) based on first-principles calculations. The thermal conductivity of phosphorene at 300 K300\,\mathrm{K} is 30.15 Wm−1K−130.15\,\mathrm{Wm^{-1}K^{-1}} (zigzag) and 13.65 Wm−1K−113.65\,\mathrm{Wm^{-1}K^{-1}} (armchair), showing an obvious anisotropy along different directions. The calculated thermal conductivity fits perfectly to the inverse relation with temperature when the temperature is higher than Debye temperature (ΘD=278.66 K\Theta_D = 278.66\,\mathrm{K}). In comparison to graphene, the minor contribution around 5%5\% of the ZA mode is responsible for the low thermal conductivity of phosphorene. In addition, the representative mean free path (MFP), a critical size for phonon transport, is also obtained.Comment: 5 pages and 6 figures, Supplemental Material available as http://www.rsc.org/suppdata/cp/c4/c4cp04858j/c4cp04858j1.pd

    Teaching functional patterns through robotic applications

    Get PDF
    We present our approach to teaching functional programming to First Year Computer Science stu- dents at Middlesex University through projects in robotics. A holistic approach is taken to the cur- riculum, emphasising the connections between different subject areas. A key part of the students’ learning is through practical projects that draw upon and integrate the taught material. To support these, we developed the Middlesex Robotic plaTfOrm (MIRTO), an open-source platform built using Raspberry Pi, Arduino, HUB-ee wheels and running Racket (a LISP dialect). In this paper we present the motivations for our choices and explain how a number of concepts of functional programming may be employed when programming robotic applications. We present some students’ work with robotics projects: we consider the use of robotics projects to have been a success, both for their value in reinforcing students’ understanding of programming concepts and for their value in motivating the students

    Evaluation of Interventions in Blended Learning Using a Communication Skills Serious Game

    Get PDF
    Serious games often employ a scripted dialogue for player interaction with a virtual character. In our serious game Communicate, a domain expert develops a structured, scripted scenario as a sequence of potential interactions in an authoring tool. A player is often a student learning communication skills and a virtual character represents a person that a student talks to. In the original version of Communicate, a player `converses' with a virtual character by clicking on one of the multiple statement options. Since 2018, we perform blended learning sessions for final year computer science students using Communicate. Our goal is to improve these sessions and in this paper, we apply the action research method over three semesters to iteratively improve these blended learning sessions. In the first semester, our baseline, we conduct sessions where students play a scenario in multiple choice format. In the second semester, we enhance Communicate by enabling a student to enter open text input in an improved scenario. In the third semester, we enhance a session by incorporating peer teaching. Students fill in an evaluation survey after a session and we compare the evaluation of students from the three semesters. Results show that student ratings are significantly higher in sessions incorporating peer teaching compared to the baseline

    The impact of a history of child abuse on cognitive performance:a cross-sectional study in older patients with a depressive, anxiety, or somatic symptom disorder

    Get PDF
    Background: Child abuse is a major global burden with an enduring negative impact on mental and physical health. A history of child abuse is consistently associated with worse cognitive performance among adults; data in older age groups are inconclusive. Since affective symptoms and cognitive functioning are interrelated among older persons, a synergistic effect can be assumed in patients with affective symptoms who also have suffered from child abuse. This study examines the association between a history of child abuse and cognitive performance in such patients. Methods: Cross-sectional data were collected from the ‘Routine Outcome Monitoring for Geriatric Psychiatry & Science’ project, including 179 older adults (age 60–88 years) with either a unipolar depressive, any anxiety, or somatic symptom disorder referred to specialized geriatric mental health care. A history of physical, sexual, and psychological abuse, and emotional neglect was assessed with a structured interview. Cognitive functioning was measured with three paper and pencils tests (10-words verbal memory test, Stroop Colour-Word test, Digit Span) and four tests from the computerized Cogstate Test Battery (Detection Test, Identification Test, One Card Learning Test, One Back Test). The association between a history of child abuse and cognitive performance was examined by multiple linear regression analyses adjusted for covariates. Results: Principal component analyses of nine cognitive parameters revealed four cognitive domains, i.e., visual-verbal memory, psychomotor speed, working memory and interference control. A history of child abuse was not associated with any of these cognitive domains. However, when looking at the specific types of child abuse separately, a history of physical abuse and emotional neglect were associated with poorer interference control. A history of physical abuse was additionally associated with better visual-verbal memory. Conclusions: The association between a history of child abuse and cognitive performance differs between the different types of abuse. A history of physical abuse might particularly be a key determinant of cognitive performance in older adults with a depressive, anxiety, or somatic symptom disorder. Future studies on the impact of these disorders on the onset of dementia should take child abuse into account. Trial registration: ROM-GPS is registered at the Dutch Trial Register (NL6704 at www.trialregister.nl)

    Impact of childhood trauma on multidimensional frailty in older patients with a unipolar depressive-, anxiety- or somatic symptom

    Get PDF
    Item does not contain fulltextObjectives: Frailty marks an increased risk for adverse health outcomes. Since childhood trauma is associated with the onset of physical and mental health diseases during the lifespan, we examined the link between childhood trauma and multidimensional frailty. Method: A cross-sectional study embedded in a clinical cohort study (ROM-GPS) of older (>=60 years) patients (n=182) with a unipolar depressive-, anxiety- and/or somatic symptom disorder according to DSM-criteria referred to specialized geriatric mental health care. Frailty was assessed with the Tilburg Frailty Indicator (TFI), comprising a physical, psychological, and social dimension. Physical, sexual and psychological abuse and emotional neglect before the age of 16 years was measured with a structured interview. Results: Of 182 patients, 103 (56.6%) had experienced any childhood trauma and 154 (84.6%) were frail (TFI sum score >=5). Linear regression analyses, adjusted for lifestyle, psychological and physical-health factors, showed that the presence of any type of childhood trauma was not associated with the TFI sum score, however when considered separately, physical abuse was (ß=0.16, p=.037). Regarding the specific frailty dimensions, any childhood trauma was associated with social frailty (ß=0.18, p=.019), with emotional neglect as main contributor. Conclusion: These findings demonstrate a complex link between different types of childhood trauma and multidimensional frailty among older psychiatric patients. Regarding the three dimensions of frailty, social frailty seems most affected by childhood trauma. This may have been underestimated until now and should receive more attention in clinical care and future research.7 p

    LMS-Verify: abstraction without regret for verified systems programming

    Get PDF
    Performance critical software is almost always developed in C, as programmers do not trust high-level languages to deliver the same reliable performance. This is bad because low-level code in unsafe languages attracts security vulnerabilities and because development is far less productive, with PL advances mostly lost on programmers operating under tight performance constraints. High-level languages provide memory safety out of the box, but they are deemed too slow and unpredictable for serious system software. Recent years have seen a surge in staging and generative programming: the key idea is to use high-level languages and their abstraction power as glorified macro systems to compose code fragments in first-order, potentially domain-specific, intermediate languages, from which fast C can be emitted. But what about security? Since the end result is still C code, the safety guarantees of the high-level host language are lost. In this paper, we extend this generative approach to emit ACSL specifications along with C code. We demonstrate that staging achieves ``abstraction without regret'' for verification: we show how high-level programming models, in particular higher-order composable contracts from dynamic languages, can be used at generation time to compose and generate first-order specifications that can be statically checked by existing tools. We also show how type classes can automatically attach invariants to data types, reducing the need for repetitive manual annotations. We evaluate our system on several case studies that varyingly exercise verification of memory safety, overflow safety, and functional correctness. We feature an HTTP parser that is (1) fast (2) high-level: implemented using staged parser combinators (3) secure: with verified memory safety. This result is significant, as input parsing is a key attack vector, and vulnerabilities related to HTTP parsing have been documented in all widely-used web servers.</jats:p
    • …
    corecore